In a multimedia application development environment, users often want to assign a path along which a part will move to give the application special effects. For example, a user might want to display an animation of a bird appearing on the left edge of a page and flying across the page to exit on the right side of the page. Using the known techniques, the assignment of a motion path to a part is tedious. In addition, the known techniques have limited flexibility and require construction separate from the part layout area. Once constructed, it is difficult to modify the path.
One type of path definition is found in, for example, Premier by Adobe. To construct a path for an object/part, the part must be taken from the layout area and placed in a separate window. Then, the user can draw a path for the part using a pointing device. There is no one-to-one scale and the path is drawn without the perspective of the actual environment including lack of surrounding parts at actual size. Thus, the user must create the path and then assign it, return to the layout area and run a test. If the path does not look right, the user must return to the separate path definition window and try again. This is awkward and time consuming, especially in complex layouts.
Another type of path definition can be found in Director by Macromedia. This type of path definition allows the use of the actual layout area for construction but also requires the use of a "score" area. The user must set a start time in the score for the part. Then the user must drag the part to the next movement position in the layout area followed by another setting in the score area for the time it should appear in that position. Once these steps have occurred from start point to finish point, the score area is highlighted and the placement is made on the layout area. Thus, this method can also be slow and tedious.
The currently known time and duration specification methods available for motion paths ignores movement synchronization entirely. There is currently no reliable method for automatically synchronizing two or more objects traveling along separate motion paths. Additionally, current time and duration specification methods are not flexible enough to allow the creation of complex time-based dependencies within paths and between multiple paths.
Thus, there is a need for a method and system for path definition that is quick, easy, flexible and uses time segments, duration, and synchronization.